﻿/* Rick van Bodegraven - 0915335
 * 
 * 15-10-2010 - Versie 0.1
 * 
 * Deze klasse genereert een willekeurig bord, deze is gebruikt om het MVC project te testen 
 */
using System;
using Roborally.Bord;
using Roborally.CommonData.GlobaleTypes;
using Roborally.CommonData.Enums;

namespace Roborally.Server
{
    public static class GenerateRandomBord
    {
        private static IBord randomModel;
        private static Random random;
        private static IVak[,] vakken;

        public static IBord GenerateBord()
        {
            // deze random is nodig om de willekeurige typen vakken op te bouwen
            random = new Random();
            vakken = new IVak[12,12];

            for (int x = 0; x < 12; x++)
            {
                for (int y = 0; y < 12; y++)
                {
                    IVak tempVak;

                    switch(random.Next(1, 6))
                    {
                        case 1:
                            tempVak = new Draaischijf(DraaiRichting.Links, new bool[] {true, true, false, false});
                            vakken[x, y] = tempVak;
                            break;

                        case 2:
                            tempVak = new Lopendeband(BandType.VanOnderNaarBoven, new bool[] { true, false, true, false });
                            vakken[x, y] = tempVak;
                            break;

                        case 3:
                            tempVak = new Reparatievak(new bool[] { true, true, true, true });
                            vakken[x, y] = tempVak;
                            break;

                        case 4:
                            tempVak = new Lopendeband(BandType.VanLinksNaarOnder, new bool[] { false, true, true, false });
                            vakken[x, y] = tempVak;
                            break;

                        case 5:
                            tempVak = new Leeg(new bool[] { true, false });
                            vakken[x, y] = tempVak;
                            break;

                        default:
                            break;
                    }
                }
            }

            //return randomModel = new Model(new Bord.Bord(vakken));
            return null;
        }
    }
}
